package com.th.supcom.pds.dispensedrug.client.service;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.th.supcom.pds.auditprescription.client.model.PdsPrescDetailCombineModel;
import com.th.supcom.pds.common.client.model.PdsSupplyDetailModel;
import com.th.supcom.pds.common.client.model.PdsSupplyModel;
import com.th.supcom.pds.internal.client.model.ResultModel;

/**
 * 核对发药 异步接口.
 * 
 * @author 杨冲
 */
public interface DispenseDrugRpcAsync
{

    /** 公司版权信息. */
    public static final String copyright = "Copyright 2014, TH Supcom Corporation";

    /** 提交路径. */
    public static final String SCC_BRANCH = "$URL$";

    /** 提交日期. */
    public static final String SCC_LAST_MODIFICATION_DATE = "$Date$";

    /** 最终修改人员. */
    public static final String SCC_LAST_MODIFIER_NAME = "$Author$";

    /** 最终版本号. */
    public static final String SCC_REVISION = "$Revision$";

    void dispenseDrug (List <PdsSupplyDetailModel> models, String operator, String deptCode, String patientId,
                       AsyncCallback <Void> callback);

    void getPhamBatchByExample (PdsPrescDetailCombineModel model,
                                AsyncCallback <List <PdsPrescDetailCombineModel>> callback);

    void getPdsSupplyListByExample (PdsSupplyModel pdsSupplyModel, AsyncCallback <List <PdsSupplyModel>> callback);
    
    void getPdsSupplyDetailListByRcptNo(String rcptNo, String prescNo, String deptCode, AsyncCallback <ResultModel> callback);
    
    void findPdsSupplyListWithTotalPrice (String deptCode, String ipAdress, AsyncCallback <List <PdsSupplyModel>> callback);
}